home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1990-08-27 | 5.3 KB | [TEXT/MPS ] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
66%
| dexvert
| Compact Compressed (Unix) (archive/compact)
| ext
| Supported |
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, inited, Mon Aug 27 22:49:24 1990, modified Mon Aug 27 22:49:24 1990, creator 'MPS ', type ASCII, 4851 bytes "MBosmain.c" , at 0x1373 382 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MPS ] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 4d 42 6f 73 6d 61 | 69 6e 2e 63 00 00 00 00 |..MBosma|in.c....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 01 00 00 7d 00 bb 00 |.TEXTMPS| ...}...|
|00000050| 00 00 00 00 00 12 f3 00 | 00 01 7e a2 ff 8c 34 a2 |........|..~...4.|
|00000060| ff 8c 34 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..4.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 82 2a 00 00 |........|.....*..|
|00000080| 2f 2a 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |/*------|--------|
|00000090| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000a0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000b0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000c0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|000000d0| 0d 23 0d 23 09 4d 42 6f | 73 6d 61 69 6e 2e 63 0d |.#.#.MBo|smain.c.|
|000000e0| 23 0d 23 09 45 78 61 6d | 70 6c 65 20 6f 66 20 61 |#.#.Exam|ple of a|
|000000f0| 6e 20 41 2f 52 4f 53 45 | 20 74 61 73 6b 2c 20 74 |n A/ROSE| task, t|
|00000100| 6f 20 62 65 20 6c 69 6e | 6b 65 64 20 77 69 74 68 |o be lin|ked with|
|00000110| 20 22 4d 42 6f 73 6d 61 | 69 6e 2e 63 2e 6f 22 0d | "MBosma|in.c.o".|
|00000120| 23 20 20 61 6e 64 20 64 | 6f 77 6e 6c 6f 61 64 65 |# and d|ownloade|
|00000130| 64 20 74 6f 20 61 20 4d | 43 50 20 63 61 72 64 2e |d to a M|CP card.|
|00000140| 0d 23 0d 23 20 20 52 65 | 67 69 73 74 65 72 73 20 |.#.# Re|gisters |
|00000150| 69 74 73 65 6c 66 20 77 | 69 74 68 20 0d 23 20 20 |itself w|ith .# |
|00000160| 6f 62 6a 65 63 74 5f 6e | 61 6d 65 20 20 22 4d 42 |object_n|ame "MB|
|00000170| 54 61 73 6b 22 20 20 61 | 6e 64 0d 23 20 20 74 79 |Task" a|nd.# ty|
|00000180| 70 65 5f 6e 61 6d 65 20 | 20 20 20 22 4d 42 53 65 |pe_name | "MBSe|
|00000190| 72 76 65 72 22 2e 0d 23 | 0d 23 20 20 54 68 65 20 |rver"..#|.# The |
|000001a0| 22 45 78 65 72 63 69 73 | 65 22 20 61 70 70 6c 69 |"Exercis|e" appli|
|000001b0| 63 61 74 69 6f 6e 20 69 | 6e 20 74 68 69 73 20 73 |cation i|n this s|
|000001c0| 61 6d 65 20 66 6f 6c 64 | 65 72 20 77 69 6c 6c 20 |ame fold|er will |
|000001d0| 74 68 65 6e 20 66 69 6e | 64 0d 23 20 20 74 68 69 |then fin|d.# thi|
|000001e0| 73 20 74 61 73 6b 20 6f | 6e 20 61 20 4d 43 50 20 |s task o|n a MCP |
|000001f0| 63 61 72 64 2c 20 61 6e | 64 20 75 73 65 20 69 74 |card, an|d use it|
|00000200| 20 66 6f 72 20 70 61 72 | 61 6c 6c 65 6c 20 70 72 | for par|allel pr|
|00000210| 6f 63 65 73 73 69 6e 67 | 0d 23 20 20 28 69 66 20 |ocessing|.# (if |
|00000220| 74 68 65 20 22 4d 43 50 | 22 20 63 68 65 63 6b 62 |the "MCP|" checkb|
|00000230| 6f 78 20 69 73 20 63 68 | 65 63 6b 65 64 29 2e 0d |ox is ch|ecked)..|
|00000240| 23 20 20 4c 6f 6f 6b 20 | 61 74 20 74 68 65 20 73 |# Look |at the s|
|00000250| 6f 75 72 63 65 20 63 6f | 64 65 20 45 78 65 72 63 |ource co|de Exerc|
|00000260| 69 73 65 2e 63 20 66 6f | 72 20 6d 6f 72 65 20 64 |ise.c fo|r more d|
|00000270| 65 74 61 69 6c 73 20 61 | 62 6f 75 74 20 74 68 65 |etails a|bout the|
|00000280| 20 0d 23 20 20 64 69 73 | 74 72 69 62 75 74 65 64 | .# dis|tributed|
|00000290| 20 4d 61 6e 64 65 6c 62 | 72 6f 74 20 63 6f 6d 70 | Mandelb|rot comp|
|000002a0| 75 74 61 74 69 6f 6e 2e | 0d 23 0d 23 09 43 6f 6d |utation.|.#.#.Com|
|000002b0| 70 6f 6e 65 6e 74 73 3a | 0d 23 09 09 09 09 4d 42 |ponents:|.#....MB|
|000002c0| 6f 73 6d 61 69 6e 2e 63 | 0d 23 09 09 09 09 69 74 |osmain.c|.#....it|
|000002d0| 65 72 31 36 2e 61 0d 23 | 09 09 09 09 4d 42 54 61 |er16.a.#|....MBTa|
|000002e0| 73 6b 2e 63 0d 23 0d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |sk.c.#.-|--------|
|000002f0| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000300| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000310| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000320| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000330| 2d 2d 2d 2d 2d 2a 2f 0d | 2f 2a 20 2d 2d 2d 2d 2d |-----*/.|/* -----|
|00000340| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 20 4d 50 57 3a 20 73 |--------|- MPW: s|
|00000350| 65 6c 65 63 74 20 74 68 | 65 20 66 6f 6c 6c 6f 77 |elect th|e follow|
|00000360| 69 6e 67 20 6c 69 6e 65 | 73 20 2b 20 3c 45 4e 54 |ing line|s + <ENT|
|00000370| 45 52 3e 20 2d 2d 2d 2d | 2d 2d 0d 41 73 6d 20 69 |ER> ----|--.Asm i|
|00000380| 74 65 72 31 36 2e 61 0d | 43 20 4d 42 6f 73 6d 61 |ter16.a.|C MBosma|
|00000390| 69 6e 2e 63 20 2d 72 0d | 43 20 4d 42 54 61 73 6b |in.c -r.|C MBTask|
|000003a0| 2e 63 20 20 20 2d 72 0d | 6c 69 6e 6b 20 2d 74 20 |.c -r.|link -t |
|000003b0| 27 44 4d 52 50 27 20 2d | 63 20 27 52 57 4d 20 27 |'DMRP' -|c 'RWM '|
|000003c0| 20 b6 0d 09 4d 42 6f 73 | 6d 61 69 6e 2e 63 2e 6f | ...MBos|main.c.o|
|000003d0| 20 b6 0d 09 4d 42 54 61 | 73 6b 2e 63 2e 6f 20 b6 | ...MBTa|sk.c.o .|
|000003e0| 0d 09 69 74 65 72 31 36 | 2e 61 2e 6f 20 b6 0d 09 |..iter16|.a.o ...|
|000003f0| 3a 3a 4f 53 2e 6f 20 b6 | 0d 09 3a 3a 6f 73 67 6c |::OS.o .|..::osgl|
|00000400| 75 65 2e 6f 20 b6 0d 09 | 2d 6f 20 73 74 61 72 74 |ue.o ...|-o start|
|00000410| 0d 09 0d 3a 3a 44 6f 77 | 6e 6c 6f 61 64 20 73 74 |...::Dow|nload st|
|00000420| 61 72 74 0d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |art.----|--------|
|00000430| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000440| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000450| 2d 2d 2d 2d 2d 2d 2d 2d | 2d 2d 2d 2d 2d 2d 2d 2d |--------|--------|
|00000460| 2d 2d 2d 2d 20 2a 2f 0d | 0d 0d 2f 2f 20 74 68 65 |---- */.|..// the|
|00000470| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 64 65 66 69 6e | followi|ng defin|
|00000480| 69 74 69 6f 6e 73 20 63 | 6f 6d 65 20 66 72 6f 6d |itions c|ome from|
|00000490| 20 74 68 65 20 41 2f 52 | 4f 53 45 20 69 6e 63 6c | the A/R|OSE incl|
|000004a0| 75 64 65 20 66 69 6c 65 | 20 22 6f 73 2e 68 22 0d |ude file| "os.h".|
|000004b0| 0d 74 79 70 65 64 65 66 | 20 6c 6f 6e 67 20 74 69 |.typedef| long ti|
|000004c0| 64 5f 74 79 70 65 3b 0d | 0d 73 74 72 75 63 74 20 |d_type;.|.struct |
|000004d0| 53 54 5f 52 65 67 69 73 | 74 65 72 73 0d 7b 0d 09 |ST_Regis|ters.{..|
|000004e0| 6c 6f 6e 67 09 44 5f 52 | 65 67 69 73 74 65 72 73 |long.D_R|egisters|
|000004f0| 20 5b 38 5d 3b 09 09 2f | 2f 20 44 30 20 2d 20 44 | [8];../|/ D0 - D|
|00000500| 37 20 0d 09 6c 6f 6e 67 | 09 41 5f 52 65 67 69 73 |7 ..long|.A_Regis|
|00000510| 74 65 72 73 20 5b 38 5d | 3b 09 09 2f 2f 20 41 30 |ters [8]|;..// A0|
|00000520| 20 2d 20 41 37 20 20 4e | 6f 74 65 3a 20 41 37 20 | - A7 N|ote: A7 |
|00000530| 6e 6f 74 20 75 73 65 64 | 0d 09 6c 6f 6e 67 09 50 |not used|..long.P|
|00000540| 43 3b 09 09 09 09 09 09 | 2f 2f 20 50 72 6f 67 72 |C;......|// Progr|
|00000550| 61 6d 20 43 6f 75 6e 74 | 65 72 0d 7d 3b 0d 0d 73 |am Count|er.};..s|
|00000560| 74 72 75 63 74 20 53 54 | 5f 50 42 0d 7b 0d 09 63 |truct ST|_PB.{..c|
|00000570| 68 61 72 09 2a 43 6f 64 | 65 53 65 67 6d 65 6e 74 |har.*Cod|eSegment|
|00000580| 3b 09 09 09 2f 2f 20 6d | 65 6d 6f 72 79 20 72 65 |;...// m|emory re|
|00000590| 67 69 6f 6e 20 6f 6e 20 | 63 61 72 64 20 66 6f 72 |gion on |card for|
|000005a0| 20 63 6f 64 65 0d 09 63 | 68 61 72 09 2a 44 61 74 | code..c|har.*Dat|
|000005b0| 61 53 65 67 6d 65 6e 74 | 3b 09 09 09 2f 2f 20 6d |aSegment|;...// m|
|000005c0| 65 6d 6f 72 79 20 72 65 | 67 69 6f 6e 20 6f 6e 20 |emory re|gion on |
|000005d0| 63 61 72 64 20 66 6f 72 | 20 67 6c 6f 62 61 6c 20 |card for| global |
|000005e0| 64 61 74 61 0d 09 63 68 | 61 72 09 2a 53 74 61 72 |data..ch|ar.*Star|
|000005f0| 74 50 61 72 6d 53 65 67 | 6d 65 6e 74 3b 09 09 2f |tParmSeg|ment;../|
|00000600| 2f 20 6d 65 6d 6f 72 79 | 20 72 65 67 69 6f 6e 20 |/ memory| region |
|00000610| 6f 6e 20 63 61 72 64 20 | 66 6f 72 20 73 74 61 72 |on card |for star|
|00000620| 74 20 70 61 72 61 6d 65 | 74 65 72 73 0d 09 73 74 |t parame|ters..st|
|00000630| 72 75 63 74 09 53 54 5f | 52 65 67 69 73 74 65 72 |ruct.ST_|Register|
|00000640| 73 20 49 6e 69 74 52 65 | 67 73 3b 09 2f 2f 20 69 |s InitRe|gs;.// i|
|00000650| 6e 69 74 69 61 6c 20 72 | 65 67 69 73 74 65 72 20 |nitial r|egister |
|00000660| 73 65 74 20 66 6f 72 20 | 73 74 61 72 74 69 6e 67 |set for |starting|
|00000670| 20 74 61 73 6b 0d 09 6c | 6f 6e 67 09 73 74 61 63 | task..l|ong.stac|
|00000680| 6b 3b 09 09 09 09 09 2f | 2f 20 69 6e 69 74 69 61 |k;...../|/ initia|
|00000690| 6c 20 73 74 61 63 6b 20 | 73 69 7a 65 20 28 69 6e |l stack |size (in|
|000006a0| 20 62 79 74 65 73 29 0d | 09 6c 6f 6e 67 09 68 65 | bytes).|.long.he|
|000006b0| 61 70 3b 09 09 09 09 09 | 2f 2f 20 69 6e 69 74 69 |ap;.....|// initi|
|000006c0| 61 6c 20 68 65 61 70 20 | 73 69 7a 65 20 28 69 6e |al heap |size (in|
|000006d0| 20 62 79 74 65 73 29 0d | 09 73 68 6f 72 74 09 72 | bytes).|.short.r|
|000006e0| 65 74 75 72 6e 5f 63 6f | 64 65 3b 09 09 09 2f 2f |eturn_co|de;...//|
|000006f0| 20 65 72 72 6f 72 20 63 | 6f 64 65 20 69 66 20 74 | error c|ode if t|
|00000700| 61 73 6b 20 6e 6f 74 20 | 73 74 61 72 74 65 64 20 |ask not |started |
|00000710| 28 54 69 64 20 3d 20 30 | 29 0d 09 75 6e 73 69 67 |(Tid = 0|)..unsig|
|00000720| 6e 65 64 20 63 68 61 72 | 20 70 72 69 6f 72 69 74 |ned char| priorit|
|00000730| 79 3b 09 09 09 2f 2f 20 | 70 72 69 6f 72 69 74 79 |y;...// |priority|
|00000740| 20 6f 66 20 74 61 73 6b | 20 28 69 6e 20 62 79 74 | of task| (in byt|
|00000750| 65 73 29 0d 09 74 69 64 | 5f 74 79 70 65 09 50 61 |es)..tid|_type.Pa|
|00000760| 72 65 6e 74 54 49 44 3b | 09 09 09 2f 2f 20 54 49 |rentTID;|...// TI|
|00000770| 44 20 6f 66 20 50 61 72 | 65 6e 74 20 6f 6e 20 4e |D of Par|ent on N|
|00000780| 65 74 77 6f 72 6b 2f 48 | 6f 73 74 0d 7d 3b 0d 0d |etwork/H|ost.};..|
|00000790| 74 79 70 65 64 65 66 20 | 73 74 72 75 63 74 20 53 |typedef |struct S|
|000007a0| 54 5f 50 42 20 53 54 5f | 50 42 3b 0d 0d 0d 0d 2f |T_PB ST_|PB;..../|
|000007b0| 2f 20 74 68 65 20 66 6f | 6c 6c 6f 77 69 6e 67 20 |/ the fo|llowing |
|000007c0| 64 65 63 6c 61 72 61 74 | 69 6f 6e 73 20 63 6f 6d |declarat|ions com|
|000007d0| 65 20 66 72 6f 6d 20 61 | 72 6f 73 65 2e 68 0d 0d |e from a|rose.h..|
|000007e0| 74 79 70 65 64 65 66 20 | 75 6e 73 69 67 6e 65 64 |typedef |unsigned|
|000007f0| 20 6c 6f 6e 67 20 09 4f | 53 6c 6f 6e 67 3b 0d 74 | long .O|Slong;.t|
|00000800| 79 70 65 64 65 66 20 75 | 6e 73 69 67 6e 65 64 20 |ypedef u|nsigned |
|00000810| 73 68 6f 72 74 20 09 4f | 53 73 68 6f 72 74 3b 0d |short .O|Sshort;.|
|00000820| 74 79 70 65 64 65 66 20 | 75 6e 73 69 67 6e 65 64 |typedef |unsigned|
|00000830| 20 63 68 61 72 20 09 4f | 53 63 68 61 72 3b 0d 0d | char .O|Schar;..|
|00000840| 2f 2f 09 67 43 6f 6d 6d | 6f 6e 20 2d 20 41 2f 52 |//.gComm|on - A/R|
|00000850| 4f 53 45 20 63 6f 6d 6d | 6f 6e 20 64 61 74 61 20 |OSE comm|on data |
|00000860| 61 72 65 61 0d 0d 73 74 | 72 75 63 74 09 67 43 6f |area..st|ruct.gCo|
|00000870| 6d 6d 6f 6e 09 09 2f 2f | 09 4c 6f 63 61 74 65 64 |mmon..//|.Located|
|00000880| 20 61 74 20 30 78 34 30 | 30 20 6f 6e 20 74 68 65 | at 0x40|0 on the|
|00000890| 20 4d 43 50 20 63 61 72 | 64 0d 7b 0d 09 4f 53 73 | MCP car|d.{..OSs|
|000008a0| 68 6f 72 74 09 67 52 65 | 6c 65 61 73 65 3b 09 09 |hort.gRe|lease;..|
|000008b0| 09 2f 2f 09 72 65 6c 65 | 61 73 65 20 61 6e 64 20 |.//.rele|ase and |
|000008c0| 76 65 72 73 69 6f 6e 20 | 6e 75 6d 62 65 72 0d 09 |version |number..|
|000008d0| 4f 53 63 68 61 72 09 67 | 50 72 6f 63 65 73 73 6f |OSchar.g|Processo|
|000008e0| 72 3b 09 09 09 2f 2f 09 | 54 79 70 65 20 6f 66 20 |r;...//.|Type of |
|000008f0| 70 72 6f 63 65 73 73 6f | 72 09 09 0d 09 4f 53 63 |processo|r....OSc|
|00000900| 68 61 72 09 67 43 61 72 | 64 52 75 6e 3b 09 09 09 |har.gCar|dRun;...|
|00000910| 2f 2f 09 53 65 74 20 7a | 65 72 6f 20 62 79 20 64 |//.Set z|ero by d|
|00000920| 6f 77 6e 6c 6f 61 64 2c | 20 6e 6f 6e 2d 7a 65 72 |ownload,| non-zer|
|00000930| 6f 20 62 79 20 4f 2f 53 | 0d 09 4f 53 73 68 6f 72 |o by O/S|..OSshor|
|00000940| 74 09 67 42 6f 61 72 64 | 49 44 3b 09 09 09 2f 2f |t.gBoard|ID;...//|
|00000950| 09 42 6f 61 72 64 20 69 | 64 20 6f 66 20 63 61 72 |.Board i|d of car|
|00000960| 64 09 09 0d 09 4f 53 6c | 6f 6e 67 09 67 54 49 44 |d....OSl|ong.gTID|
|00000970| 3b 09 09 09 09 2f 2f 09 | 43 75 72 72 65 6e 74 20 |;....//.|Current |
|00000980| 54 61 73 6b 20 49 44 09 | 09 09 0d 09 4f 53 63 68 |Task ID.|....OSch|
|00000990| 61 72 09 67 44 65 62 75 | 67 4f 6e 3b 09 09 09 2f |ar.gDebu|gOn;.../|
|000009a0| 2f 09 6e 6f 6e 2d 7a 65 | 72 6f 20 69 66 20 64 65 |/.non-ze|ro if de|
|000009b0| 62 75 67 67 65 72 20 72 | 75 6e 6e 69 6e 67 09 09 |bugger r|unning..|
|000009c0| 0d 09 4f 53 63 68 61 72 | 09 67 4d 61 6a 6f 72 46 |..OSchar|.gMajorF|
|000009d0| 6c 61 67 3b 09 09 09 2f | 2f 09 6d 61 6a 6f 72 20 |lag;.../|/.major |
|000009e0| 70 72 6f 63 65 73 73 69 | 6e 67 20 66 6c 61 67 09 |processi|ng flag.|
|000009f0| 0d 09 4f 53 6c 6f 6e 67 | 09 67 49 6e 69 74 41 35 |..OSlong|.gInitA5|
|00000a00| 3b 09 09 09 2f 2f 09 49 | 6e 69 74 69 61 6c 20 41 |;...//.I|nitial A|
|00000a10| 35 09 09 09 09 0d 09 2f | 2f 20 2e 2e 2e 2e 2e 2e |5....../|/ ......|
|00000a20| 2e 2e 2e 2e 2e 2e 2e 2e | 2e 2e 0d 09 2f 2f 20 6d |........|....// m|
|00000a30| 61 6e 79 2c 20 6d 61 6e | 79 20 6f 74 68 65 72 20 |any, man|y other |
|00000a40| 66 69 65 6c 64 73 20 63 | 6f 6e 74 61 69 6e 65 64 |fields c|ontained|
|00000a50| 20 69 6e 20 74 68 69 73 | 20 73 74 72 75 63 74 75 | in this| structu|
|00000a60| 72 65 3a 20 6c 6f 6f 6b | 20 75 70 20 69 6e 20 61 |re: look| up in a|
|00000a70| 72 6f 73 65 2e 68 20 21 | 0d 09 2f 2f 20 2e 2e 2e |rose.h !|..// ...|
|00000a80| 2e 2e 2e 2e 2e 2e 2e 2e | 2e 2e 2e 2e 2e 0d 7d 3b |........|......};|
|00000a90| 0d 0d 74 79 70 65 64 65 | 66 20 73 74 72 75 63 74 |..typede|f struct|
|00000aa0| 20 67 43 6f 6d 6d 6f 6e | 20 67 43 6f 6d 6d 6f 6e | gCommon| gCommon|
|00000ab0| 3b 0d 0d 23 64 65 66 69 | 6e 65 09 09 63 4d 61 78 |;..#defi|ne..cMax|
|00000ac0| 4d 73 67 09 09 35 30 30 | 09 09 09 2f 2f 09 4d 61 |Msg..500|...//.Ma|
|00000ad0| 78 69 6d 75 6d 20 6e 75 | 6d 62 65 72 20 6f 66 20 |ximum nu|mber of |
|00000ae0| 6d 65 73 73 61 67 65 73 | 0d 23 64 65 66 69 6e 65 |messages|.#define|
|00000af0| 09 09 63 4f 53 53 74 61 | 63 6b 09 34 30 39 36 09 |..cOSSta|ck.4096.|
|00000b00| 09 2f 2f 09 73 69 7a 65 | 20 6f 66 20 4f 53 20 53 |.//.size| of OS S|
|00000b10| 74 61 63 6b 0d 0d 2f 2f | 20 74 68 65 20 66 6f 6c |tack..//| the fol|
|00000b20| 6c 6f 77 69 6e 67 20 74 | 77 6f 20 6c 69 6e 65 73 |lowing t|wo lines|
|00000b30| 20 63 6f 6d 65 20 66 72 | 6f 6d 20 73 69 6f 70 2e | come fr|om siop.|
|00000b40| 68 0d 0d 23 64 65 66 69 | 6e 65 09 54 49 43 4b 53 |h..#defi|ne.TICKS|
|00000b50| 5f 50 53 09 31 39 09 09 | 09 09 2f 2f 09 31 39 20 |_PS.19..|..//.19 |
|00000b60| 74 69 63 6b 73 20 70 65 | 72 20 73 65 63 6f 6e 64 |ticks pe|r second|
|00000b70| 09 0d 23 64 65 66 69 6e | 65 09 54 49 43 4b 5f 4d |..#defin|e.TICK_M|
|00000b80| 49 4e 5f 4d 41 4a 20 38 | 09 09 09 09 2f 2f 20 20 |IN_MAJ 8|....// |
|00000b90| 20 38 20 6d 69 6e 6f 72 | 20 74 69 63 6b 73 20 70 | 8 minor| ticks p|
|00000ba0| 65 72 20 6d 61 6a 6f 72 | 20 74 69 63 6b 0d 0d 0d |er major| tick...|
|00000bb0| 2f 2f 20 70 72 6f 74 6f | 74 79 70 65 73 0d 0d 76 |// proto|types..v|
|00000bc0| 6f 69 64 09 6f 73 69 6e | 69 74 20 28 29 3b 0d 76 |oid.osin|it ();.v|
|00000bd0| 6f 69 64 09 6f 73 73 74 | 61 72 74 20 28 29 3b 0d |oid.osst|art ();.|
|00000be0| 76 6f 69 64 09 6e 61 6d | 65 5f 73 65 72 76 65 72 |void.nam|e_server|
|00000bf0| 20 28 29 3b 0d 76 6f 69 | 64 09 49 43 43 4d 20 28 | ();.voi|d.ICCM (|
|00000c00| 29 3b 0d 65 78 74 65 72 | 6e 09 74 69 64 5f 74 79 |);.exter|n.tid_ty|
|00000c10| 70 65 09 09 47 65 74 54 | 49 44 28 29 3b 0d 65 78 |pe..GetT|ID();.ex|
|00000c20| 74 65 72 6e 09 73 74 72 | 75 63 74 20 67 43 6f 6d |tern.str|uct gCom|
|00000c30| 6d 6f 6e 09 2a 47 65 74 | 67 43 6f 6d 6d 6f 6e 28 |mon.*Get|gCommon(|
|00000c40| 29 3b 0d 65 78 74 65 72 | 6e 09 74 69 64 5f 74 79 |);.exter|n.tid_ty|
|00000c50| 70 65 09 09 53 74 61 72 | 74 54 61 73 6b 28 73 74 |pe..Star|tTask(st|
|00000c60| 72 75 63 74 20 53 54 5f | 50 42 20 2a 29 3b 0d 0d |ruct ST_|PB *);..|
|00000c70| 76 6f 69 64 09 4d 42 54 | 61 73 6b 20 28 29 3b 0d |void.MBT|ask ();.|
|00000c80| 0d 76 6f 69 64 20 53 74 | 61 72 74 4e 61 6d 65 53 |.void St|artNameS|
|00000c90| 65 72 76 65 72 28 53 54 | 5f 50 42 20 2a 70 62 29 |erver(ST|_PB *pb)|
|00000ca0| 3b 09 2f 2f 20 74 68 65 | 20 4e 61 6d 65 20 4d 61 |;.// the| Name Ma|
|00000cb0| 6e 61 67 65 72 0d 76 6f | 69 64 20 53 74 61 72 74 |nager.vo|id Start|
|00000cc0| 49 43 43 4d 61 6e 61 67 | 65 72 28 53 54 5f 50 42 |ICCManag|er(ST_PB|
|00000cd0| 20 2a 70 62 29 3b 09 2f | 2f 20 79 6f 75 20 67 75 | *pb);./|/ you gu|
|00000ce0| 65 73 73 20 69 74 21 0d | 76 6f 69 64 20 53 74 61 |ess it!.|void Sta|
|00000cf0| 72 74 4d 42 54 61 73 6b | 28 53 54 5f 50 42 20 2a |rtMBTask|(ST_PB *|
|00000d00| 70 62 29 3b 09 09 2f 2f | 20 61 6e 64 20 6f 75 72 |pb);..//| and our|
|00000d10| 20 4d 61 6e 64 65 6c 62 | 72 6f 74 20 74 61 73 6b | Mandelb|rot task|
|00000d20| 0d 0d 70 61 73 63 61 6c | 20 76 6f 69 64 20 69 6c |..pascal| void il|
|00000d30| 6c 65 67 61 6c 20 28 29 | 0d 09 09 65 78 74 65 72 |legal ()|...exter|
|00000d40| 6e 09 30 78 34 61 66 63 | 3b 0d 0d 0d 6d 61 69 6e |n.0x4afc|;...main|
|00000d50| 20 28 29 0d 7b 0d 09 73 | 74 72 75 63 74 20 53 54 | ().{..s|truct ST|
|00000d60| 5f 50 42 20 73 74 70 62 | 3b 09 2f 2f 20 53 74 61 |_PB stpb|;.// Sta|
|00000d70| 72 74 20 70 61 72 61 6d | 65 74 65 72 20 62 6c 6f |rt param|eter blo|
|00000d80| 63 6b 0d 0d 09 2f 2f 20 | 49 6e 69 74 20 4f 53 20 |ck...// |Init OS |
|00000d90| 77 69 74 68 20 63 4d 61 | 78 4d 73 67 20 6d 65 73 |with cMa|xMsg mes|
|00000da0| 73 61 67 65 73 20 61 6e | 64 20 63 53 74 61 63 6b |sages an|d cStack|
|00000db0| 4f 53 20 73 74 61 63 6b | 0d 0d 09 6f 73 69 6e 69 |OS stack|...osini|
|00000dc0| 74 20 28 63 4d 61 78 4d | 73 67 2c 20 63 4f 53 53 |t (cMaxM|sg, cOSS|
|00000dd0| 74 61 63 6b 29 3b 0d 09 | 0d 09 53 74 61 72 74 4e |tack);..|..StartN|
|00000de0| 61 6d 65 53 65 72 76 65 | 72 28 26 73 74 70 62 29 |ameServe|r(&stpb)|
|00000df0| 3b 09 2f 2f 20 74 68 65 | 20 4e 61 6d 65 20 4d 61 |;.// the| Name Ma|
|00000e00| 6e 61 67 65 72 0d 09 53 | 74 61 72 74 49 43 43 4d |nager..S|tartICCM|
|00000e10| 61 6e 61 67 65 72 28 26 | 73 74 70 62 29 3b 09 2f |anager(&|stpb);./|
|00000e20| 2f 20 79 6f 75 20 67 75 | 65 73 73 20 69 74 21 0d |/ you gu|ess it!.|
|00000e30| 09 53 74 61 72 74 4d 42 | 54 61 73 6b 28 26 73 74 |.StartMB|Task(&st|
|00000e40| 70 62 29 3b 09 09 2f 2f | 20 61 6e 64 20 6f 75 72 |pb);..//| and our|
|00000e50| 20 73 61 6d 70 6c 65 20 | 74 61 73 6b 0d 09 0d 09 | sample |task....|
|00000e60| 6f 73 73 74 61 72 74 20 | 28 54 49 43 4b 5f 4d 49 |osstart |(TICK_MI|
|00000e70| 4e 5f 4d 41 4a 2c 20 54 | 49 43 4b 53 5f 50 53 29 |N_MAJ, T|ICKS_PS)|
|00000e80| 3b 09 2f 2f 20 53 74 61 | 72 74 20 6f 70 65 72 61 |;.// Sta|rt opera|
|00000e90| 74 69 6e 67 20 73 79 73 | 74 65 6d 0d 0d 09 69 6c |ting sys|tem...il|
|00000ea0| 6c 65 67 61 6c 20 28 29 | 3b 09 20 20 2f 2f 20 73 |legal ()|;. // s|
|00000eb0| 68 6f 75 6c 64 20 6e 65 | 76 65 72 20 67 65 74 20 |hould ne|ver get |
|00000ec0| 68 65 72 65 21 0d 0d 7d | 0d 0d 0d 0d 76 6f 69 64 |here!..}|....void|
|00000ed0| 20 53 74 61 72 74 4e 61 | 6d 65 53 65 72 76 65 72 | StartNa|meServer|
|00000ee0| 28 53 54 5f 50 42 20 2a | 70 62 29 0d 2f 2f 20 70 |(ST_PB *|pb).// p|
|00000ef0| 72 69 6f 72 69 74 79 20 | 33 31 2c 20 34 6b 20 73 |riority |31, 4k s|
|00000f00| 74 61 63 6b 2c 20 30 20 | 68 65 61 70 0d 7b 0d 09 |tack, 0 |heap.{..|
|00000f10| 70 62 20 2d 3e 20 43 6f | 64 65 53 65 67 6d 65 6e |pb -> Co|deSegmen|
|00000f20| 74 20 3d 20 30 3b 0d 09 | 70 62 20 2d 3e 20 44 61 |t = 0;..|pb -> Da|
|00000f30| 74 61 53 65 67 6d 65 6e | 74 20 3d 20 30 3b 0d 09 |taSegmen|t = 0;..|
|00000f40| 70 62 20 2d 3e 20 53 74 | 61 72 74 50 61 72 6d 53 |pb -> St|artParmS|
|00000f50| 65 67 6d 65 6e 74 20 3d | 20 30 3b 0d 09 70 62 20 |egment =| 0;..pb |
|00000f60| 2d 3e 20 73 74 61 63 6b | 20 3d 20 34 30 39 36 3b |-> stack| = 4096;|
|00000f70| 0d 09 70 62 20 2d 3e 20 | 68 65 61 70 20 3d 20 30 |..pb -> |heap = 0|
|00000f80| 3b 0d 09 70 62 20 2d 3e | 20 70 72 69 6f 72 69 74 |;..pb ->| priorit|
|00000f90| 79 20 3d 20 33 31 3b 0d | 09 70 62 20 2d 3e 20 49 |y = 31;.|.pb -> I|
|00000fa0| 6e 69 74 52 65 67 73 2e | 50 43 20 3d 20 6e 61 6d |nitRegs.|PC = nam|
|00000fb0| 65 5f 73 65 72 76 65 72 | 3b 0d 09 70 62 20 2d 3e |e_server|;..pb ->|
|00000fc0| 20 49 6e 69 74 52 65 67 | 73 2e 41 5f 52 65 67 69 | InitReg|s.A_Regi|
|00000fd0| 73 74 65 72 73 20 5b 35 | 5d 20 3d 20 47 65 74 67 |sters [5|] = Getg|
|00000fe0| 43 6f 6d 6d 6f 6e 28 29 | 20 2d 3e 20 67 49 6e 69 |Common()| -> gIni|
|00000ff0| 74 41 35 3b 0d 09 70 62 | 20 2d 3e 20 50 61 72 65 |tA5;..pb| -> Pare|
|00001000| 6e 74 54 49 44 20 3d 20 | 47 65 74 54 49 44 28 29 |ntTID = |GetTID()|
|00001010| 3b 0d 09 0d 09 69 66 20 | 28 53 74 61 72 74 54 61 |;....if |(StartTa|
|00001020| 73 6b 20 28 70 62 29 20 | 3d 3d 20 30 29 0d 09 09 |sk (pb) |== 0)...|
|00001030| 69 6c 6c 65 67 61 6c 20 | 28 29 3b 0d 7d 0d 0d 76 |illegal |();.}..v|
|00001040| 6f 69 64 20 53 74 61 72 | 74 49 43 43 4d 61 6e 61 |oid Star|tICCMana|
|00001050| 67 65 72 28 53 54 5f 50 | 42 20 2a 70 62 29 0d 2f |ger(ST_P|B *pb)./|
|00001060| 2f 20 70 72 69 6f 72 69 | 74 79 20 33 31 2c 20 31 |/ priori|ty 31, 1|
|00001070| 32 38 2d 62 79 74 65 20 | 73 74 61 63 6b 2c 20 30 |28-byte |stack, 0|
|00001080| 20 68 65 61 70 0d 7b 0d | 09 70 62 20 2d 3e 20 43 | heap.{.|.pb -> C|
|00001090| 6f 64 65 53 65 67 6d 65 | 6e 74 20 3d 20 30 3b 0d |odeSegme|nt = 0;.|
|000010a0| 09 70 62 20 2d 3e 20 44 | 61 74 61 53 65 67 6d 65 |.pb -> D|ataSegme|
|000010b0| 6e 74 20 3d 20 30 3b 0d | 09 70 62 20 2d 3e 20 53 |nt = 0;.|.pb -> S|
|000010c0| 74 61 72 74 50 61 72 6d | 53 65 67 6d 65 6e 74 20 |tartParm|Segment |
|000010d0| 3d 20 30 3b 0d 09 70 62 | 20 2d 3e 20 73 74 61 63 |= 0;..pb| -> stac|
|000010e0| 6b 20 3d 20 31 32 38 3b | 0d 09 70 62 20 2d 3e 20 |k = 128;|..pb -> |
|000010f0| 68 65 61 70 20 3d 20 30 | 3b 0d 09 70 62 20 2d 3e |heap = 0|;..pb ->|
|00001100| 20 70 72 69 6f 72 69 74 | 79 20 3d 20 33 31 3b 0d | priorit|y = 31;.|
|00001110| 09 70 62 20 2d 3e 20 49 | 6e 69 74 52 65 67 73 2e |.pb -> I|nitRegs.|
|00001120| 50 43 20 3d 20 49 43 43 | 4d 3b 0d 09 70 62 20 2d |PC = ICC|M;..pb -|
|00001130| 3e 20 49 6e 69 74 52 65 | 67 73 2e 41 5f 52 65 67 |> InitRe|gs.A_Reg|
|00001140| 69 73 74 65 72 73 20 5b | 35 5d 20 3d 20 47 65 74 |isters [|5] = Get|
|00001150| 67 43 6f 6d 6d 6f 6e 28 | 29 20 2d 3e 20 67 49 6e |gCommon(|) -> gIn|
|00001160| 69 74 41 35 3b 0d 09 70 | 62 20 2d 3e 20 50 61 72 |itA5;..p|b -> Par|
|00001170| 65 6e 74 54 49 44 20 3d | 20 47 65 74 54 49 44 28 |entTID =| GetTID(|
|00001180| 29 3b 0d 09 0d 09 69 66 | 20 28 53 74 61 72 74 54 |);....if| (StartT|
|00001190| 61 73 6b 20 28 70 62 29 | 20 3d 3d 20 30 29 0d 09 |ask (pb)| == 0)..|
|000011a0| 09 69 6c 6c 65 67 61 6c | 20 28 29 3b 0d 7d 0d 0d |.illegal| ();.}..|
|000011b0| 0d 76 6f 69 64 20 53 74 | 61 72 74 4d 42 54 61 73 |.void St|artMBTas|
|000011c0| 6b 28 53 54 5f 50 42 20 | 2a 70 62 29 0d 2f 2f 20 |k(ST_PB |*pb).// |
|000011d0| 70 72 69 6f 72 69 74 79 | 20 33 30 2c 20 34 6b 20 |priority| 30, 4k |
|000011e0| 73 74 61 63 6b 2c 20 30 | 20 68 65 61 70 0d 7b 0d |stack, 0| heap.{.|
|000011f0| 09 70 62 20 2d 3e 20 43 | 6f 64 65 53 65 67 6d 65 |.pb -> C|odeSegme|
|00001200| 6e 74 20 3d 20 30 3b 0d | 09 70 62 20 2d 3e 20 44 |nt = 0;.|.pb -> D|
|00001210| 61 74 61 53 65 67 6d 65 | 6e 74 20 3d 20 30 3b 0d |ataSegme|nt = 0;.|
|00001220| 09 70 62 20 2d 3e 20 53 | 74 61 72 74 50 61 72 6d |.pb -> S|tartParm|
|00001230| 53 65 67 6d 65 6e 74 20 | 3d 20 30 3b 0d 09 70 62 |Segment |= 0;..pb|
|00001240| 20 2d 3e 20 49 6e 69 74 | 52 65 67 73 2e 41 5f 52 | -> Init|Regs.A_R|
|00001250| 65 67 69 73 74 65 72 73 | 20 5b 35 5d 20 3d 20 47 |egisters| [5] = G|
|00001260| 65 74 67 43 6f 6d 6d 6f | 6e 28 29 20 2d 3e 20 67 |etgCommo|n() -> g|
|00001270| 49 6e 69 74 41 35 3b 0d | 09 70 62 20 2d 3e 20 50 |InitA5;.|.pb -> P|
|00001280| 61 72 65 6e 74 54 49 44 | 20 3d 20 47 65 74 54 49 |arentTID| = GetTI|
|00001290| 44 28 29 3b 0d 09 70 62 | 20 2d 3e 20 73 74 61 63 |D();..pb| -> stac|
|000012a0| 6b 20 3d 20 34 30 39 36 | 3b 0d 09 70 62 20 2d 3e |k = 4096|;..pb ->|
|000012b0| 20 68 65 61 70 20 3d 20 | 30 3b 0d 09 70 62 20 2d | heap = |0;..pb -|
|000012c0| 3e 20 70 72 69 6f 72 69 | 74 79 20 3d 20 31 30 3b |> priori|ty = 10;|
|000012d0| 0d 09 70 62 20 2d 3e 20 | 49 6e 69 74 52 65 67 73 |..pb -> |InitRegs|
|000012e0| 2e 50 43 20 3d 20 4d 42 | 54 61 73 6b 3b 09 2f 2f |.PC = MB|Task;.//|
|000012f0| 20 65 6e 74 72 79 20 70 | 6f 69 6e 74 20 6f 66 20 | entry p|oint of |
|00001300| 4d 61 6e 64 65 6c 62 72 | 6f 74 20 74 61 73 6b 0d |Mandelbr|ot task.|
|00001310| 0d 09 69 66 20 28 53 74 | 61 72 74 54 61 73 6b 20 |..if (St|artTask |
|00001320| 28 70 62 29 20 3d 3d 20 | 30 29 09 2f 2f 20 69 66 |(pb) == |0).// if|
|00001330| 20 74 68 65 20 74 61 73 | 6b 20 64 6f 65 73 20 6e | the tas|k does n|
|00001340| 6f 74 20 67 65 74 20 73 | 74 61 72 74 65 64 0d 09 |ot get s|tarted..|
|00001350| 09 69 6c 6c 65 67 61 6c | 20 28 29 3b 09 09 09 09 |.illegal| ();....|
|00001360| 2f 2f 20 67 6f 20 64 65 | 62 75 67 67 69 6e 67 0d |// go de|bugging.|
|00001370| 7d 0d 0d 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |}.......|........|
|00001380| 00 00 01 00 00 00 01 4c | 00 00 00 4c 00 00 00 32 |.......L|...L...2|
|00001390| 00 02 00 78 41 79 80 e1 | 41 77 80 e1 41 76 80 e1 |...xAy..|Aw..Av..|
|000013a0| 41 20 80 49 41 d5 80 97 | 41 59 80 e1 41 57 80 97 |A .IA...|AY..AW..|
|000013b0| 0a 4d 42 6f 73 6d 61 69 | 6e 2e 63 6d 02 00 00 00 |.MBosmai|n.cm....|
|000013c0| 54 45 58 54 4d 50 53 20 | 01 00 00 7d 00 bb 00 00 |TEXTMPS |...}....|
|000013d0| 00 00 54 45 58 54 4d 50 | 53 20 01 00 00 7d 00 bb |..TEXTMP|S ...}..|
|000013e0| 00 00 00 e6 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000013f0| 00 00 a2 ff 45 e4 00 00 | 12 f3 00 00 01 7e 80 49 |....E...|.....~.I|
|00001400| 52 54 00 00 54 79 81 2f | 54 77 81 2f 54 75 80 e1 |RT..Ty./|Tw./Tu..|
|00001410| 54 20 80 49 54 3b 81 0a | 54 73 81 78 54 72 80 e1 |T .IT;..|Ts.xTr..|
|00001420| 54 2e 81 2f 54 6f 81 78 | 54 69 80 e1 54 2d 81 2f |T../To.x|Ti..T-./|
|00001430| 54 65 81 78 54 2c 81 2f | 54 3a 80 e1 54 63 81 78 |Te.xT,./|T:..Tc.x|
|00001440| 54 61 81 78 54 4f 80 49 | 54 41 81 2f 56 79 81 78 |Ta.xTO.I|TA./Vy.x|
|00001450| 56 75 81 2f 56 20 80 49 | 56 3b 81 2f 56 72 81 2f |Vu./V .I|V;./Vr./|
|00001460| 56 2e 82 10 56 6f 81 c6 | 56 69 81 2f 56 2d 80 e1 |V...Vo..|Vi./V-..|
|00001470| 56 65 81 c6 56 2c 82 10 | 56 3a 81 0a 56 61 81 c6 |Ve..V,..|V:..Va..|
|00001480| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 09 4f |...H..Mo|naco...O|
|00001490| 46 46 0d 09 09 09 4f 50 | 54 09 09 4e 4f 43 4c 52 |FF....OP|T..NOCLR|
|000014a0| 0d 09 09 09 43 41 00 06 | 00 04 00 41 02 9d 01 a6 |....CA..|...A....|
|000014b0| 04 c2 00 78 00 18 01 dd | 02 3d a2 ff 45 e4 00 00 |...x....|.=..E...|
|000014c0| 11 cf 00 00 11 d7 00 00 | 0f 92 01 00 00 00 01 00 |........|........|
|000014d0| 00 00 01 4c 00 00 00 4c | 00 00 00 32 00 25 14 50 |...L...L|...2.%.P|
|000014e0| 05 e2 00 00 00 1c 00 32 | 00 00 4d 50 53 52 00 00 |.......2|..MPSR..|
|000014f0| 00 0a 03 ed ff ff 00 00 | 00 00 00 26 47 e4 00 00 |........|...&G...|
+--------+-------------------------+-------------------------+--------+--------+